package com.dszq.wemedia.fegin;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dszq.apis.wemedia.IWemediaClient;
import com.dszq.model.common.dtos.ResponseResult;
import com.dszq.model.common.enums.AppHttpCodeEnum;
import com.dszq.model.wemedia.pojos.WmChannel;
import com.dszq.model.wemedia.pojos.WmUser;
import com.dszq.wemedia.service.WmChannelService;
import com.dszq.wemedia.service.WmUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * [一句话描述该类的功能]
 *
 * @author : [Lenovo]
 * @version : [v1.0]
 * @createTime : [2024/5/1 14:57]
 */
@RestController
public class WemediaClient implements IWemediaClient {
    @Autowired
    private WmUserService wmUserService;
    @Autowired
    private WmChannelService wmChannelService;
    /**
     * 通过用户名查询用户信息。
     *
     * @param name 用户名，路径变量。
     * @return 返回匹配的用户信息，如果找不到则返回null。
     */
    @Override
    public WmUser selectUserByName(String name) {
        return wmUserService.getOne(Wrappers.<WmUser>lambdaQuery().eq(WmUser::getName,name));
    }

    /**
     * 保存WmUser信息
     *
     * @param wmUser WmUser对象，包含需要保存的用户信息
     * @return ResponseResult 返回操作结果，成功或失败
     */
    @Override
    public ResponseResult saveWmUSer(WmUser wmUser) {
        wmUserService.save(wmUser);
        return ResponseResult.okResult(AppHttpCodeEnum.SUCCESS);
    }

    /**
     * 查询所有频道信息
     *
     * @return ResponseResult 返回频道信息的查询结果，封装了状态码和数据
     */
    @Override
    public List<WmChannel> findAllChannels() {
        // 调用服务层方法，查询所有频道信息并返回
        return wmChannelService.findAllChannels();
    }
}
